Skip to content

Added Weaver configuration for all telemetry, and a generated mkdocs site#2794

Merged
julianocosta89 merged 26 commits intoopen-telemetry:mainfrom
martinjt:weaver-docs
Apr 13, 2026
Merged

Added Weaver configuration for all telemetry, and a generated mkdocs site#2794
julianocosta89 merged 26 commits intoopen-telemetry:mainfrom
martinjt:weaver-docs

Conversation

@martinjt
Copy link
Copy Markdown
Member

@martinjt martinjt commented Dec 5, 2025

Changes

This adds a new service called telemetry-docs which serves a documentation site for the custom telemetry documented by the demo across all the services.

It also includes a weaver registry for the all those attributes.

This does not include a live-check interface, that will come later, nor does this include codegen for these attributes or metrics.

Merge Requirements

For new features contributions, please make sure you have completed the following
essential items:

  • CHANGELOG.md updated to document new feature additions
  • Appropriate documentation updates in the docs
  • Appropriate Helm chart updates in the helm-charts

Maintainers will not merge until the above have been completed. If you're unsure
which docs need to be changed ping the
@open-telemetry/demo-approvers.

@github-actions github-actions bot added the helm-update-required Requires an update to the Helm chart when released label Dec 5, 2025
@julianocosta89
Copy link
Copy Markdown
Member

@martinjt can we configure live-check to ensure the telemetry schema is always up to date?

I just don't want that to be another burden for maintainers.

Also, the k8s manifests shouldn't be part of this PR. That is generated via helm update whenever we have a new release

@martinjt
Copy link
Copy Markdown
Member Author

We can, i just didnt want to make it part of this PR since its already got a lot of moving parts.

I can remove the k8s bits.

@puckpuck puckpuck marked this pull request as ready for review December 17, 2025 14:12
@puckpuck puckpuck requested a review from a team as a code owner December 17, 2025 14:12
@github-actions
Copy link
Copy Markdown

This PR was marked stale due to lack of activity. It will be closed in 7 days.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Jan 7, 2026

This PR was marked stale due to lack of activity. It will be closed in 7 days.

@julianocosta89
Copy link
Copy Markdown
Member

@martinjt I had a chat with @puckpuck in the last SIG meeting and we were discussing this PR.
As an OTel user, I couldn't understand why would we run the documentation as part of the Demo.

Shouldn't we keep this PR just with the /telemetry-schema and have the telemetry docs as part of the https://opentelemetry.io/docs/demo/ docs?

Something like how the semconv docs is currently done.

@martinjt
Copy link
Copy Markdown
Member Author

My view is that we need to show people how to use Weaver for the things it's built for (Markdown documentation, and telemetry validation). The easiest of those to see is generating markdown. We show them how that's done in this repo, not be having another repo generate them and display them.

If this repo had to have something else host the docs, that wouldn't be something that people could clone, run and iterate on. We need to show people how they can use weaver, give them a place to test it, just like we do with all the languages and their instrumentations.

It's totally valid that the otel docs could ALSO use the schema to generate some more docs that are static and updated on a specific schedule. The repo, the helm chart and the images, should be able to run to allow the user to see all of them together, it shouldn't be that I run the demo, then consult the otel website for the docs (which could be for a different version).

As an application developer, I would likely have a way of viewing the changes of the documentation, I'd maybe have something in my pipeline generate github pages. Either way, it's local to the repo and something that a developer can generate

@julianocosta89
Copy link
Copy Markdown
Member

What if we keep the doc service as a different docker compose file? This would allow users to test weaver, but the docs services wouldn't always start with the Demo.
I've added an entry to discuss this at the SIG meeting tomorrow (Wed 14 Jan). (I won't be able to attend it, but happy to accept whatever is agreed by the majority).

@github-actions
Copy link
Copy Markdown

This PR was marked stale due to lack of activity. It will be closed in 7 days.

@github-actions
Copy link
Copy Markdown

This PR was marked stale due to lack of activity. It will be closed in 7 days.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 7, 2026

This PR was marked stale due to lack of activity. It will be closed in 7 days.

@linux-foundation-easycla
Copy link
Copy Markdown

linux-foundation-easycla bot commented Apr 7, 2026

CLA Signed

The committers listed above are authorized under a signed CLA.

@martinjt
Copy link
Copy Markdown
Member Author

martinjt commented Apr 7, 2026

@julianocosta89 @ps48 I've pushed an update to this PR that:

  • Upgrades Weaver from v0.21.2 to v0.22.1 and migrates the schemas to the v2 definition format (file_format: definition/2)
  • Attribute files now use the flat v2 attributes: syntax with key: instead of nested groups:
  • Service files use v2 attribute_groups: with visibility: public
  • Renamed registry_manifest.yamlmanifest.yaml (old name is deprecated in v0.22)
  • Updated the jq filters in weaver.yaml to handle the new resolved registry ID format

Also addressed the review comments:

  • ✅ Added TELEMETRY_DOCS_HOST/TELEMETRY_DOCS_PORT to docker-compose.minimal.yml so the envoy template resolves correctly
  • ✅ Fixed readme.md.j2 — removed the common.yaml reference, updated to reflect actual file structure (manifest.yaml, attributes/*.yaml, services/*.yaml, metrics/*.yaml)
  • ✅ Updated mkdocs.yml site_url to http://localhost:8080/telemetry/
  • The type inconsistencies (string vs double for amounts/costs) are noted and can be addressed in a follow-up PR

Everything builds and serves correctly with the static nginx setup.

@julianocosta89
Copy link
Copy Markdown
Member

@martinjt can you check the easyCLA issue?
It may be related to claude being a co-author of the PR

@martinjt
Copy link
Copy Markdown
Member Author

martinjt commented Apr 9, 2026

That should be done now @julianocosta89

@julianocosta89
Copy link
Copy Markdown
Member

@martinjt I ran weaver registry resolve and got a couple of messages:

⚠ Invalid attribute definition detected while resolving '"model/metrics/
  │ product_reviews.yaml"' (group_id='metric.product_reviews.ai_assistant',
  │ attribute_id='product.id'). Missing stability field.

I've added stability to the metrics (97abcc7 and bumped semconv to 1.40).

Now I'm only getting:

⚠ File format `definition/2` is not yet stable: model/services/***

But I guess this is expected.

@martinjt martinjt force-pushed the weaver-docs branch 5 times, most recently from d13e944 to 62d37f6 Compare April 9, 2026 14:41
- Bump otel/weaver Docker image from v0.21.2 to v0.22.1
- Rename registry_manifest.yaml to manifest.yaml (v0.22 deprecation)
- Migrate attribute files to v2 schema (file_format: definition/2)
- Migrate service files to v2 attribute_groups with visibility
- Update jq filters in weaver.yaml for new resolved registry ID format
- Add Apache license headers to Jinja2 template files
- Fix readme.md.j2 to reflect actual schema file structure
- Add TELEMETRY_DOCS_HOST/PORT env vars to docker-compose.minimal.yml
- Update mkdocs site_url to localhost:8080/telemetry/

Note: Claude was used to assist with this change. The author has
verified all work.
Copy link
Copy Markdown
Member

@julianocosta89 julianocosta89 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd get this one merged and we can iterate from here

@julianocosta89 julianocosta89 mentioned this pull request Apr 13, 2026
7 tasks
@julianocosta89 julianocosta89 added this pull request to the merge queue Apr 13, 2026
Merged via the queue into open-telemetry:main with commit 5b70741 Apr 13, 2026
39 checks passed
@martinjt martinjt deleted the weaver-docs branch April 13, 2026 13:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

helm-update-required Requires an update to the Helm chart when released

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants